<!doctype html>
<html lang="en">
<head>
    <title>Code coverage report for src/components/examine/drawSign.vue</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="..\..\..\prettify.css" />
    <link rel="stylesheet" href="..\..\..\base.css" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style type='text/css'>
        .coverage-summary .sorter {
            background-image: url(..\..\..\sort-arrow-sprite.png);
        }
    </style>
</head>
<body>
<div class='wrapper'>
  <div class='pad1'>
    <h1>
      <a href="..\..\..\index.html">All files</a> / <a href="index.html">src/components/examine</a> drawSign.vue
    </h1>
    <div class='clearfix'>
      <div class='fl pad1y space-right2'>
        <span class="strong">0% </span>
        <span class="quiet">Statements</span>
        <span class='fraction'>0/57</span>
      </div>
      <div class='fl pad1y space-right2'>
        <span class="strong">0% </span>
        <span class="quiet">Branches</span>
        <span class='fraction'>0/13</span>
      </div>
      <div class='fl pad1y space-right2'>
        <span class="strong">0% </span>
        <span class="quiet">Functions</span>
        <span class='fraction'>0/15</span>
      </div>
      <div class='fl pad1y space-right2'>
        <span class="strong">0% </span>
        <span class="quiet">Lines</span>
        <span class='fraction'>0/57</span>
      </div>
    </div>
  </div>
  <div class='status-line low'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&lt;template&gt;
  &lt;div class="sign"&gt;
    &lt;canvas id="canvas" :width="width" :height="height"&gt;&lt;/canvas&gt;
    &lt;div style="padding:10px 0 0 180px;"&gt;
      &lt;input @click="save"
               type="button"
               value="保 存"
               class="tcSubmit" /&gt;
        &lt;input @click="clear"
               type="button"
               value="清 除"
               class="tcCancel" /&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/template&gt;
&nbsp;
&lt;script&gt;
  /*
  * width   canvas 宽度
  * height  canvas 高度
  * strokeStyle  线条颜色
  * showUrl   是否显示预览图片
  * imgWidth  img 宽度
  * imgHeight img 高度
  * draw_clear   //监听清空事件
  * draw_save    //监听保存事件 返回base64 img 路径
  * */
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >  var preHandler = function ( e ) {e.preventDefault();};</span></span>
  export default {
    name : 'drawSign',
    props : {
      width : {
        type : String,
        default : '560'
      },
      height : {
        type : String,
        default : '250'
      },
      strokeStyle:{
        type : String,
        default : '#000'
      },
      showUrl:{
        type : Boolean,
        default : true
      },
      imgWidth:{
        type : String,
        default : '200'
      },
      imgHeight:{
        type : String,
        default : '200'
      }
    },
<span class="fstat-no" title="function not covered" >    data () {</span>
<span class="cstat-no" title="statement not covered" >      return {</span>
        flag:true,
        canvas : null,       //canvas
        ctx : null,          //ctx canvas对象
        stroke_info:null,    //当前绘图的坐标
        url:'',              //base64 图像
      }
    },
    methods : {
&nbsp;
&nbsp;
&nbsp;
<span class="fstat-no" title="function not covered" >dealImage(path, obj, callback){ //图片压缩与转码</span>
<span class="cstat-no" title="statement not covered" >   var img = new Image();</span>
<span class="cstat-no" title="statement not covered" >   img.src = path;</span>
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >   img.onload = function(){</span></span>
<span class="cstat-no" title="statement not covered" >   var that = this;</span>
   
   // 默认按比例压缩
<span class="cstat-no" title="statement not covered" >   var w = that.width,</span>
   h = that.height,
   scale = w / h;
<span class="cstat-no" title="statement not covered" >   w = obj.width || w;</span>
<span class="cstat-no" title="statement not covered" >   h = obj.height || (w / scale);</span>
<span class="cstat-no" title="statement not covered" >   var quality = 0.9; // 默认图片质量为0.7</span>
   //生成canvas
<span class="cstat-no" title="statement not covered" >   var canvas = document.createElement('canvas');</span>
   
   
<span class="cstat-no" title="statement not covered" >   var ctx = canvas.getContext('2d');</span>
   // 创建属性节点
<span class="cstat-no" title="statement not covered" >   var anw = document.createAttribute("width");</span>
<span class="cstat-no" title="statement not covered" >   anw.nodeValue = w;</span>
<span class="cstat-no" title="statement not covered" >   var anh = document.createAttribute("height");</span>
<span class="cstat-no" title="statement not covered" >   anh.nodeValue = h;</span>
<span class="cstat-no" title="statement not covered" >   canvas.setAttributeNode(anw);</span>
<span class="cstat-no" title="statement not covered" >   canvas.setAttributeNode(anh);</span>
<span class="cstat-no" title="statement not covered" >   ctx.drawImage(that, 0, 0, w, h);</span>
   // 图像质量
<span class="cstat-no" title="statement not covered" >   if(obj.quality &amp;&amp; obj.quality &lt;= 1 &amp;&amp; obj.quality &gt; 0){</span>
<span class="cstat-no" title="statement not covered" >      quality = obj.quality;</span>
   }
<span class="cstat-no" title="statement not covered" >   var base64 = canvas.toDataURL('image/jpg', quality );</span>
   //console.log(base64.length)
   // 回调函数返回base64的值
<span class="cstat-no" title="statement not covered" >   callback(base64);</span>
   }
  }	,
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
<span class="fstat-no" title="function not covered" >      init () {</span>
<span class="cstat-no" title="statement not covered" >        let that = this;</span>
<span class="cstat-no" title="statement not covered" >        this.canvas = document.getElementById('canvas');</span>
<span class="cstat-no" title="statement not covered" >        this.ctx = this.canvas.getContext('2d');</span>
<span class="cstat-no" title="statement not covered" >        this.stroke_info = this.canvas.getBoundingClientRect();</span>
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >        this.canvas.addEventListener('mousedown',function ( event ) {</span></span>
<span class="cstat-no" title="statement not covered" >          that.darwStart(event);</span>
<span class="cstat-no" title="statement not covered" >          that.flag=true</span>
        });
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >        this.canvas.addEventListener('mouseup', function(event) {</span></span>
<span class="cstat-no" title="statement not covered" >            that.flag=false</span>
        });
<span class="cstat-no" title="statement not covered" >        this.clear();</span>
      },
<span class="fstat-no" title="function not covered" >      darwStart(e){</span>
<span class="cstat-no" title="statement not covered" >        let that = this;</span>
<span class="cstat-no" title="statement not covered" >        let t = e;</span>
<span class="cstat-no" title="statement not covered" >        this.ctx.strokeStyle = this.strokeStyle;</span>
<span class="cstat-no" title="statement not covered" >        this.ctx.beginPath();  //清空所有绘画路径</span>
<span class="cstat-no" title="statement not covered" >        this.ctx.moveTo(t.clientX - this.stroke_info.left, t.clientY - this.stroke_info.top);</span>
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >        this.canvas.addEventListener('mousemove',function (event) {</span></span>
<span class="cstat-no" title="statement not covered" >           that.darwMove(event);</span>
        })
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >        this.canvas.addEventListener('mouseup',function (event) {</span></span>
<span class="cstat-no" title="statement not covered" >           that.flag = false</span>
        })
      },
<span class="fstat-no" title="function not covered" >      darwMove(e){</span>
<span class="cstat-no" title="statement not covered" >        if(this.flag){</span>
<span class="cstat-no" title="statement not covered" >          let t = e</span>
<span class="cstat-no" title="statement not covered" >          this.ctx.lineTo(t.clientX - this.stroke_info.left, t.clientY - this.stroke_info.top);</span>
<span class="cstat-no" title="statement not covered" >          this.ctx.stroke();</span>
        }
      },
<span class="fstat-no" title="function not covered" >      clear () {</span>
<span class="cstat-no" title="statement not covered" >        this.ctx.clearRect(0,0,this.width, this.height);</span>
<span class="cstat-no" title="statement not covered" >        this.url = '';</span>
<span class="cstat-no" title="statement not covered" >        this.$emit('draw_clear');</span>
      },
<span class="fstat-no" title="function not covered" >      save () {</span>
         
<span class="cstat-no" title="statement not covered" >        let data = this.canvas.toDataURL();</span>
        //是否显示预览截图
<span class="cstat-no" title="statement not covered" >        if(this.showUrl){</span>
<span class="cstat-no" title="statement not covered" >          this.url = data;</span>
        }
        
<span class="cstat-no" title="statement not covered" >        let query = {url : data};</span>
<span class="cstat-no" title="statement not covered" >        this.$emit('draw_save', query);</span>
        // console.log(data)
        // console.log(this.canvas);
      }
    },
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >    mounted () {</span></span>
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >      this.$nextTick(_ =&gt; {</span></span>
<span class="cstat-no" title="statement not covered" >        this.init()</span>
      })
    }
  }
&lt;/script&gt;
&nbsp;
&lt;!-- Add "scoped" attribute to limit CSS to this component only --&gt;
&lt;style scoped&gt;
  #canvas {
    border: 1px solid #cacaca;
    margin:0 auto;
    cursor: crosshair;
  }
  .preview-img{
    margin: 0 auto;
  }
  .tcSubmit {
    height: 36px;
    width: 85px;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    background: #4080ff;
    background: linear-gradient(left, #6fb2ff 0%, #095fff 100%);
  }
  .tcCancel {
    height: 36px;
    width: 85px;
    border: 1px solid #5ea0ff;
    color: #4080ff;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    margin-left: 5px;
  }
  .tcSubmit:hover,
  .tcCancel:hover {
    opacity: 0.8;
  }
&lt;/style&gt;
&nbsp;</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
  Code coverage
  generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Thu Jun 20 2019 14:29:28 GMT+0800 (GMT+08:00)
</div>
</div>
<script src="..\..\..\prettify.js"></script>
<script>
window.onload = function () {
        if (typeof prettyPrint === 'function') {
            prettyPrint();
        }
};
</script>
<script src="..\..\..\sorter.js"></script>
</body>
</html>
